Unreal Tournament version 413 Release Notes Version 413 is completely network compatible with all previous public releases of UT (versions 400, 402, and 405b). Known Issues If you are using D3D and Unreal Tournament did not automatically detect D3D when you first installed (so you had to manually select it), you should change your video driver to D3D again after installing this patch. This will allow Unreal Tournament to optimize its settings for your video card. To reset your D3D driver, go to the Options->Preferences menu and select the Video tab. Then click on the change driver button to re-select D3D. We have seen an instance of a GeForce 256 displaying many world polygons flashing and flickering. If this happens for you, press TAB type "preferences" to bring up the advanced options menu. Then set UseVideoMemoryVB to True in the Direct3D Render Device options. Fixes and Improvements Bug fixes: - Fixed occasional green skins on players. - Eliminated most common cause of crashing on startup for GeForces in D3D mode. - fixed slow client occasional assertion in UnChan.cpp (last part of the problem that first showed up in 402) - fixed clients continuing to get data from servers after disconnecting - fixed problem causing !Bunch->IsError() assertion which was causing some server crashes - fixed last man standing late entry cheat - fixed head gib not replicated on headshot in network play - fixed die at start of feign death and can't respawn in network game - The detail textures now work correctly in D3D and are reasonably fast (still disabled by default) - Eliminated squares showing around decals and other modulated textures in 16-bit mode D3D. - fixed death message when killed in pressure chamber - fixed keyboard key sticking problem (thanks Chris Norden from Ion Storm/Deus Ex) - fixed actors getting beginplay events twice if spawned while level is being brought up - Custom crosshairs > 9 now show up. - Fixed speech menu bug with mouse staying active. - Fixed speech menu text positions. - Fixed bug in bot Assault AI for dealing with team cannons New features (Gameplay): - D3D uses vertex buffers for all drawing operations - gives overall performance boost. - Can now use number and arrow keys to navigate voice menu - Random bots picks from all 32 (not first 16) - including the specially configured ones - Can summon specific bots: 'AddBotNamed Alarik' adds the bot with the name Alarik (if he's in the list of configured bots) - Now shows waiting players on team scoreboards before start of game (players who aren't ready are greyed out) - Improved bot AI about triggering pressure zone when player is in it - Changed xDSL and cable modem clientspeed to 10000 (and added separate category in netspeed selection) - No longer need to type 'iamtheone' for cheats in single player - Demos can now play looping - demoplay demofile?loop - Turbo/hardcore mode is now shown in UBrowser for team games New features (for Mod Authors): - Unreal monsters will now fight UT bots - Fixed Mutator RegisterHUDMutator() - only sets bHUDMutator if successful registration - Added a call in DeathMatchPlus.RestartGame() to allow mutators to modify the map progression (or change what mutators, etc. are loaded for each map) - Added a call in Pawn.Died() to allow mutators to prevent deaths - Added a call in GameInfo.EndGame() to allow mutators to modify the game ending conditions - Added a call in GameInfo.Login() to allow mutators to modify the spawnclass, and login options - Added a call in GameInfo.PickupQuery() to allow mutators to modify whether inventory items get picked up - F3 brings up objectives menu for subclasses of Assault. - Call voicepack in player setup menu rather than just playing voice to allow effects to be heard in setup menu. - AttachDecal() now returns the texture the decal was attached to - UTExtraKeyBindings class to allow modmakers to add to Customize Controls menu - Mod menu organization - mod menu class is adjustable with [UMenu.UMenuMenuBar] ModMenuClass - manifest.ini correctly reports version number so mods can require UT version beyond 400 for installation - Mod authors can add UBrowser tabs, see http://unreal.epicgames.com/files/SampleUBrowserPage.zip for an example of how to set this up - "stat anim" command displays a list of all visible animating actors with the names of their animations and current frame positions, shows the animation modes - lerping, static, looping back, tweening, and gives individual cpu time and poly count stats. This should be really useful for debugging and tweaking complex model animation repertoires. New features (for Servers): - Support for server only download version - Servers can adjust the minimum compatible version number reported to clients using: [IpServer.UdpServerQuery] MinNetVer=405. This can be used to prevent older clients from seeing your server if you are running a mod which requires a UT version newer than 400. - ngWorldStats version 1.5.5 is included in the patch. - The UT server now queries ngWorldStats log batcher to determine if it is correctly processing stats logs. 413 servers report this information to UBrowser, and shows both whether ngWorldStats is enabled on the server, and whether it is actually working correctly. - Server admins can now redirect auto-downloads to a remote HTTP (WWW) server. Custom content such as maps, skins and texture packages can be stored on the remote website either uncompressed or in a compressed file format (.uz) for faster downloads. The settings to control downloads are in the server's UnrealTournament.ini file. These are the settings for downloads sent directly from the UT server: [IpDrv.TcpNetDriver] AllowDownloads=True MaxDownloadSize=0 DownloadManagers=IpDrv.HTTPDownload DownloadManagers=Engine.ChannelDownload Setting AllowDownloads to False disables all autodownloads sent directly from the UT server. This setting has no effect on redirected downloads. MaxDownloadSize=0 means allow autodownload of any sized file directly from the UT server. Otherwise the value is in BYTES. We recommend that rather than disabling all downloads, you set the MaxDownload size to an appropriate value. For example, MaxDownloadSize=100000 will allow mutators and other small packages to be downloaded, but will not allow large files such as maps to be downloaded. Turning off all downloads may make it hard for older clients to get on your server if you are using a lot of custom maps, mutators or other custom packages. This setting also has no effect on redirected downloads. These are the settings for redirecting downloads to a remote website site: [IpDrv.HTTPDownload] RedirectToURL=http://www.website.com/full/path/to/directory/ UseCompression=True ProxyServerPort=3128 ProxyServerHost= To enable redirected downloads, you need to set the RedirectToURL variable to point to the website where the files will be autodownloaded from. If a client running 405b or earlier connects to your server, it will ignore the redirection and attempt to download the file directly from the server, so it is important to configure the non-redirected download options even if you intend use redirected downloads. If UseCompression is set to True, the files must be stored on the remote website as compressed .uz files. You can create a compressed .uz file by using the command ucc compress from the DOS prompt in the UnrealTournament\System directory. Typing ucc help compress will give you a list of supported options (currently this is only a list of filenames or wildcards to compress). If UseCompression is set to False, the custom package files should be put on the website as they are. Here are some examples of ucc compress: C:\UnrealTournament\System> ucc compress ..\maps\dk*.unr C:\UnrealTournament\System> ucc compress ..\textures\customskins1.utx ..\textures\customskins1.utx ..\maps\as-bridge.unr 413 also includes all the fixes and improvements in the 405 patch (listed below) Bug fixes: - destroy the "winch", not the "wench" in AS-rook description :) - fixed problem with landing bob damping on slow systems with high time dilations - fixed problem where client health gets set to zero (health was still correct on the server) - fixed spectators drowning in water outside of galleon - fixed problem with one of the 402 server optimizations causing pickups to be shown when they should be hidden if high packet loss - fixed fog rendering in software - fixed assertion line 714 network crash on slow connections - fixed PlayerReplicationInfos losing owner on client - symptom was teammate health not correctly shown on team huds - fixed bad poly on Ripper weapon model - fixed flag not dropped if killed by team cannon in CTF games - fixed server browser changing highlighted server bug - fixed gold players showing up in CTF - added BossSkins.int - fixed clients hearing ambient sound on dropped weapons in some cases - fixed picking up additional shieldbelt screwed up armor total if also had other armor types - fixed teamtriggers - fixed deathsounds and hit sounds from other players not being heard in net games - fixed demo playback crash New features: - much louder warhead explosion - don't allow Turbo mode with assault - bigger blood cloud when gibbed - Menu and text formatting changes to support Japanese text - Added "AddIni" command for umods to add lines to ini files - Changed occurances of class'DeathMatchMessage' to DMMessageClass. Allows mod authors to use their own DMMessageClass in all situations. - Made ngWorldSecret a private variable. So you can't read it from GetPropertyText anymore. - Added CRT's query packet send improvements. Should improve grabbing server lists from master server. - Added ProcessKeyEvent to HUD. Allows mod authors to work with key input directly. - Moved hardcoded SPRITE_PROJECTION_FORWARD from UnSprite.cpp to Actor property SpriteProjForward. - Set Actor's default SpriteProjForward to 32.0 - Checked in RegisterHUDMutator functions in Mutator. Allows mod authors to make mutators that self register as HUD mutators. - Integrated Enhanced Actor Rendering Interface. Allows programmers to render actors in just about any way they can think of. - Enabled RCI. (Except ClearScreen and RecomputeLighting) Allows programmers more control over what's rendered from a player's point of view. Search for Render Control Interface in headers for information. - F4 brings the server browser up. Performance Improvements: - downloads from server are now rate controlled - Servers can deny auto-downloading of content by setting AllowDownLoads=false in the [IpDrv.TcpNetDriver] section of the Unrealtournament.ini file. - reduced how long carcasses hang around on servers - Improved bit packing for network packets (server performance improvement) - Ability to turn fractal texture animation off: "Added the NoFractalAnim switch. When true, fractal textures are never updated and the texture's bRealTime is set to false. This takes effect at a package's loading/init time, so you'll have to restart a level to see it take effect. The NoFractalAnim variable sits at the [WinDrv.WindowsClient] section in the .ini files, and under 'display' in the advanced options. It's meant for troubleshooting texture generation crashes as well as a speedup tweak for those cards that slow down too much with per-frame texture uploads. Try it if you see the "anomalous singularity" error message." 405 also includes all the fixes and improvements in the 402 patch 402 Bug fixes: - D3D detection works properly. - removed log warnings for players ghosting out of the level - fixed saving last start spot for players - timemessage sounds play correctly if viewing another player - don't allow spaces in names when using console name or setname commands - suicide can now end overtime of tied game - fixed stuck animation if killed while coming out of feign death - no connect time on team scoreboards in single player - attach decals in post begin play when zone is properly set - fixed player sounds appearing to change location when using 3d sound - turn fog off by default for D3D - was causing texture thrashing w/ D3D drivers - fixed CTF-coret alternate path problems - fixed guided warhead blowing up if no client response with 300 msec after spawning - players can no longer switch to illegal team if server is full and force team balance set - fixed bots not always playing take hit sounds - don't kill spectators in the pressure chamber!!! 402 Server performance improvements: - Don't replicate actor properties of GameReplicationInfo - Don't replicate actor properties of ZoneInfo - Less frequent visibility checks for currently relevant actors - don't keep checking visibility of optional effects - less frequent checks for temporary actors after 0.2 seconds - reduced playerreplicationinfo update frequency from 5/sec to 4/sec - inventory class-specific scripted replication only done if bNetOwner - native replication for weapon, pickup, levelinfo, and ammo classes - don't spawn decals on dedicated server - don't spawn non-replicated effects actors on dedicated server - sort static actors so can ignore non-replicated static actors when testing for replication 402 New features: - added flesh hit sound to bullets - automatic path builder (documented in updated UT_AI.htm) - postnetbeginplay() called for actors spawned on network clients - Pawns use PostNetBeginPlay() to make sure they have a valid skin and mesh - improved D3D texture pool allocation when world and actor texture detail is medium - Pawns add momentum to velocity after effects of damage mutator - Optional package downloading implemented.